package com.zhan.ielts.dao.impl;

import java.util.List;

import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository;

import com.zhan.frame.core.dao.impl.BaseDaoImpl;
import com.zhan.frame.core.exception.DaoException;
import com.zhan.ielts.dao.VocabularyGroupDao;
import com.zhan.ielts.domain.VocabularyGroup;

@Repository
public class VocabularyGroupDaoImpl extends BaseDaoImpl<VocabularyGroup> implements VocabularyGroupDao {

	@Override
	public int saveOrUpdate(List<VocabularyGroup> entityList) {
		try {
			if (entityList != null && !entityList.isEmpty()) {
				for (VocabularyGroup entity : entityList) {
					if (StringUtils.isBlank(entity.getId()))
						entity.setId(generateId());
					sqlSessionTemplate.insert(getSqlName("saveOrUpdate"), entity);
				}
			}
		} catch (Exception e) {
			throw new DaoException(String.format("添加对象出错！语句：%s", getSqlName("saveOrUpdate")), e);
		}
		return 0;
	}

	@Override
	public List<VocabularyGroup> selectLatest(VocabularyGroup entity) {
		return sqlSessionTemplate.selectList(getSqlName("selectLatestOnes"), entity);

	}

	@Override
	public Long getCountByCutom(VocabularyGroup entity) {
		return sqlSessionTemplate.selectOne(getSqlName("selectLatestCount"), entity);
	}

}
